#一、选择题
"""
1、下面数据类型中，不支持分片操作的是（C）
A.字符串
B.列表
C.字典
D.元组

2、下面方法中，能够返回某个子串在字符中出现的次数的是（B）
A.len()
B.count()
C.find()
D.split()

3、下面列表的说法，描述错误的是（A）
A.list是不可变的数据类型
B.list是一个有序序列，没有固定的大小
C.list可以存放任意类型的元素
D.使用list时，其下表可以时负数

4、下面说法错误的是（A）
A.通过下标索引可以修改和访问元组的元素（）
B.元组的索引是从0开始的
C.通过insert方法可以在列表指定位置插入元素
D.使用下表索引能够修改列表的元素

5、假设要随机删除字典中的“键-值”对，使用下面那种方法（B）
A.pop
B.popitem
C.del
D.clear

6、下面选项中，不能使用下标运算的是(C)
A.列表
B.元素
C.集合
D.字符串
"""

#二、填空题
"""
1、s='hello',t='world',s+=t,则s为_helloworld_,s[-1]为_d_,s[2:5]为_llo_,s[::3]为_hlod_,s[-2::-1]为_lrowolleh_。

2、s="Python String"，写出下面操作的输出结果。
    s.upper()输出结果为_PYTHON STRING_
    s.lower()输出结果为_python string_
    s.find("i")输出结果为_10_
    s.replace('ing','gni')输出结果为_Python Strgni_

3、元组使用_小括号_包含元素，列表使用_中括号_包含元素。

4、下面程序的输出结果是_____。
list_a = [5,2,10,6,8,13,7]
list_a.reverse()
print(list_a[2]) #  8

5、使用fromkeys()方法创建字典，执行下面程序，则运算结果为_{'name': None, 'age': None, 'weight': None, 'height': None}_
pet_dict = dict.fromkeys(['name','age','weight','height'])
print(pet_dict)
pet_dict = {
    "name":None,
    "age":None,
    "weight":None,
    "height":None,
}

6、下面程序实现遍历字典中所有的值，请在_for value in num_dict.values():_内填空
num_dict = {'a':'1','b':'2','c':'3'}
______
print(value)
"""
#三、编程题
"""
已知某学校的课程安排如表4-8所示
    教师      课程
    吕红      数据库
    周婷      线性代数
    肖扬      Python
    李娟      数据库
    丁锦      英语
    周玲玲     Java
1、创建一个字典，以教师名为键，以课程为值，存储课程安排信息
2、增加一条信息赵红讲授Java
3、周玲玲改为讲授Python
4、删除周婷的授课信息
5、遍历字典，输出所有教师及授课的课程，以及输出所有讲授Python的教师
"""
dictCourse = {
    '吕红': '数据库',
    '周婷': '线性代数',
    '肖扬': 'Python',
    '李娟': '数据库',
    '丁锦': '英语',
    '周玲玲': 'Java'
}

dictCourse['赵红'] = 'Java'
print(dictCourse)
dictCourse['周玲玲'] = 'Python'
print(dictCourse)
del dictCourse['周婷']
print(dictCourse)

for teacher,course in dictCourse.items():
    print(teacher,course)
for teacher,course in dictCourse.items():
    if course == 'Python':
        print(teacher)

        """
        编程实现登录验证，要求如下：
        1、输入用户名和密码
        2、验证成功显示登录成功，并退出程序
        3、同一个用户输错3次密码后被锁定，并退出程序
        """

        # 定义字典用于存储用户信息
        dict1 = {'小蓝': [123456, 0], '小明': [12345678, 0]}
        while True:
            name = input('请输入用户名：')
            password = int(input('请输入密码:'))
            if name not in dict1.keys():
                print('该用户不存在')
                continue
            elif password == dict1[name][0]:
                print('登录成功')
                break
            else:
                print('密码错误')
                dict1[name][1] += 1
                if dict1[name][1] == 3:
                    print('3次密码错误，该用户名已被锁定')
                    break

                    """
                    编写程序，实现从键盘输入一个字符串，去重后按字符升序输出
                    """
                    strs = input('请输入一个字符串:')
                    setStrs = set(strs)
                    listStrs = list(setStrs)
                    print(listStrs)
                    listStrs.sort()
                    for s in listStrs:
                        print(s, end='')